home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!dtix!darwin.sura.net!mips!msi!dcmartin
- From: sdo@soliado.East.Sun.COM (Scott Oaks - Sun Consulting NYC)
- Newsgroups: comp.sources.x
- Subject: v18i048: olvwm 3.0, Patch2, Part01/04
- Message-ID: <1992Jul22.152348.19128@msi.com>
- Date: 22 Jul 92 15:23:48 GMT
- References: <csx-18i048-olvwm-3.0@uunet.UU.NET>
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Organization: Molecular Simulations, Inc.
- Lines: 1578
- Approved: dcmartin@msi.com
- Originator: dcmartin@fascet
-
- Submitted-by: sdo@soliado.East.Sun.COM (Scott Oaks - Sun Consulting NYC)
- Posting-number: Volume 18, Issue 48
- Archive-name: olvwm-3.0/patch2.01
- Patch-To: olvwm-3.0: Volume 15, Issue 167
-
- #!/bin/sh
- # This is a shell archive (produced by shar 3.50)
- # To extract the files from this archive, save it to a file, remove
- # everything above the "!/bin/sh" line above, and type "sh file_name".
- #
- # made 07/22/1992 15:15 UTC by dcmartin@fascet
- # Source directory /home/fascet/dcmartin/csx/src
- #
- # existing files will NOT be overwritten unless -c is specified
- #
- # This is part 1 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 174178 -rw-r--r-- olvwm3.Patch02
- #
- if test -r _shar_seq_.tmp; then
- echo 'Must unpack archives in sequence!'
- echo Please unpack part `cat _shar_seq_.tmp` next
- exit 1
- fi
- # ============= olvwm3.Patch02 ==============
- if test -f 'olvwm3.Patch02' -a X"$1" != X"-c"; then
- echo 'x - skipping olvwm3.Patch02 (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting olvwm3.Patch02 (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'olvwm3.Patch02' &&
- XFrom: dcmartin@msi.com
- Subject: v18i047: OLVWM 3.0, Patch2, Part01/01
- Newsgroups: comp.sources.x
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Approved: dcmartin@msi.com
- References: <csx-18i047-olvwm-3.0@uunet.UU.NET>
- X
- Submitted-by: dcmartin@msi.com
- Posting-number: Volume 18, Issue 47
- Archive-name: olvwm-3.0/patch2
- Patch-To: olvwm-3.0: Volume 15, Issue 167
- X
- ***************
- *** 1 ****
- ! #define PATCHLEVELv3 1
- --- 1 ----
- ! #define PATCHLEVELv3 2
- *** BUILD/CHANGES Sat Jun 13 15:50:59 1992
- --- src/CHANGES Sat Jun 13 15:43:20 1992
- ***************
- *** 1,3 ****
- --- 1,115 ----
- + Version 3.2 fixes and enhancements:
- + 1) Yet more window placement problems (esp. with mailtool) fixed: windows
- + now try to keep their mid-points on the same virtual screen rather
- + than their left points; this allows windows to be slightly off the
- + monitor but still on the same screen.
- +
- + 2) The AllowMoveIntoDesktop resource now permits you to move windows
- + within the VDM instead of always mapping them to the current screen
- +
- + 3) The boolean sense of PointerWorkspace has been changed so that it
- + follows the same semantics of PaintWorkspace: when PointerWorkspace
- + is True (now the default) olvwm will set the pointer.
- +
- + 4) (Some) Typos in the man page fixed
- +
- + 5) Internationalization problems fixed
- +
- + 6) The VDM menu no longer gets destroyed when the root menu is re-read
- +
- + 7) Programs which start with multiple windows (e.g. ftptool) now start
- + in the correct screen.
- +
- + 8) More consistent keypad namings: RowStart, DataStart, and RowEnd
- + mappings no longer affect VDM movement; there are two new keybindings
- + (UpLeft and DownLeft) which achieve that functionality in the VDM.
- +
- + 9) (Some) BadWindow warnings and errors are fixed.
- +
- + 10) Icons which are off the upper-left screen will be saved properly by
- + the SAVE_WORKSPACE command.
- +
- + 11) Using Makefile.sunpro defaults correctly installs the olvwm.info file
- +
- + 12) olvwm now beeps in response to an attempt to unstick the VDM
- +
- + 13) New resource SortMenuType:
- + If set to Alphabetic (default) then the WINMENU will show windows
- + sorted alphabetically
- +
- + If set to Youngest (previous behaviour) then the WINMENU will show
- + windows from youngest to oldest
- +
- + 14) WINMENU now shows only the windows for the current display
- +
- + 15) New DIRMENU features:
- + Output is sorted alphabetically
- +
- + Environment variables in the directory path are expanded correctly
- +
- + Can specify a regular expression as the filename to display (but
- + not as the directory)
- +
- + 16) A USR1 signal now restart olvwm
- +
- + 17) SuspendMouseless and QuoteNextKey keyboard commands are no longer
- + grabbed in basic and sunview1 keyboard mode
- +
- + 18) Icon positioning when SnapToGrid is on is fixed
- +
- + 19) Popups now map to the same screen as the midpoint of their base frame;
- + if a frame straddles the grid (including if its larger than the
- + physical screen), its popups will now map to whichever virtual screen
- + contains the midpoint of the base frame.
- +
- + 20) New resource GrabVirtualKeys: If this is false (its True by default)
- + then olvwm will not grab all the keys which move you around the VDM;
- + this means the, e.g., VirtualUpLeft will never be active, but
- + UpLeft will still work when the root or the VDM window has the
- + input focus.
- +
- + 21) It's now possible to set a myriad of cursors (even in color) for
- + different feedback on the root, frames, buttons, icons, etc. See
- + the olvwm man page for details on the new cursor resources.
- +
- + 22) NoDecor windows no longer respond (as advertised) to front/back,
- + open/close, etc. commands.
- +
- + 23) Resize feedback now appears in the correct place in the VDM
- +
- + 24) Raise and RaiseLower are now valid actions in olvwmrc
- +
- + 25) New Keybindings: ToggleDragWindows, ToggleMoveGroups,
- + ToggleSizeFullZoomX, and ToggleSticky to toggle the state of the
- + corresponding resource.
- +
- + 26) Repainting the root on exit now depends on the PaintWorkspace resource
- +
- + 27) olvwmrc is now re-read whenever it has changed AND olvwm receives a
- + function key keystroke (either normally or through a key it has
- + grabbed). This option can be disabled by setting VirtualReRead
- + to false (true by default).
- +
- + 28) Four new resources: NoVirtualKey, NoVirtualFKey, NoVirtualRKey,
- + and NoVirtualLKey. Each of these is a list of windows (like
- + the VirtualSticky resource) in which the corresponding keys (F, R,
- + L, or all) will not be grabbed when that window has focus. However,
- + this applies only to keys metioned in the .olvwmrc file; all the
- + normal virtual key interfaces (meta-arrow, e.g.) will still function.
- + It's an interface only a Wall Street trader could love.
- +
- + 29) New Keybinding SaveWorkspace for a key to save the workspace.
- +
- + 30) Synthetic events can now be received by olvwm: in order to do so,
- + you must start olvwm with the -allowSynthetic option and you must set
- + the SyntheticEvents resource to True. The SyntheticEvents resource can be
- + toggled to allow/disallow events, but it olvwm only pays attention to it
- + if the -allowSynthetic option is given.
- +
- + 31) Some memory problems fixed
- +
- + 32) 2d titles in Click-to-Type or InvertFocusMode are now drawn correctly
- +
- X Version 3.1 fixes:
- X 1) Windows/popups/icons should all stay on the same screen better
- X
- *** BUILD/Error.c Sat Jun 13 15:50:07 1992
- --- src/Error.c Sat Jun 13 15:43:20 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)Error.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)Error.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 76,82 ****
- X {0, ~BWin, BWin}, /* 18, X_ChangeProperty */
- X {0, BAll, 0}, /* 19, X_DeleteProperty */
- X {0, ~BWin, BWin}, /* 20, X_GetProperty */
- ! {0, BAll, 0}, /* 21, X_ListProperties */
- X {0, BAll, 0}, /* 22, X_SetSelectionOwner */
- X {0, BAll, 0}, /* 23, X_GetSelectionOwner */
- X {0, BAll, 0}, /* 24, X_ConvertSelection */
- --- 76,82 ----
- X {0, ~BWin, BWin}, /* 18, X_ChangeProperty */
- X {0, BAll, 0}, /* 19, X_DeleteProperty */
- X {0, ~BWin, BWin}, /* 20, X_GetProperty */
- ! {0, BAll, BWin}, /* 21, X_ListProperties */
- X {0, BAll, 0}, /* 22, X_SetSelectionOwner */
- X {0, BAll, 0}, /* 23, X_GetSelectionOwner */
- X {0, BAll, 0}, /* 24, X_ConvertSelection */
- ***************
- *** 168,174 ****
- X {0, BAll, 0}, /* 110, X_ListHosts */
- X {0, BAll, 0}, /* 111, X_SetAccessControl */
- X {0, BAll, 0}, /* 112, X_SetCloseDownMode */
- ! {0, BAll, 0}, /* 113, X_KillClient */
- X {0, BAll, 0}, /* 114, X_RotateProperties */
- X {0, BAll, 0}, /* 115, X_ForceScreenSaver */
- X {0, BAll, 0}, /* 116, X_SetPointerMapping */
- --- 168,174 ----
- X {0, BAll, 0}, /* 110, X_ListHosts */
- X {0, BAll, 0}, /* 111, X_SetAccessControl */
- X {0, BAll, 0}, /* 112, X_SetCloseDownMode */
- ! {0, BAll, BWin}, /* 113, X_KillClient */
- X {0, BAll, 0}, /* 114, X_RotateProperties */
- X {0, BAll, 0}, /* 115, X_ForceScreenSaver */
- X {0, BAll, 0}, /* 116, X_SetPointerMapping */
- ***************
- *** 225,235 ****
- X /*NOTREACHED*/
- X }
- X
- X errBitmask = 1 << event->error_code;
- X
- ! if (errBitmask & errorTable[event->request_code].ignore)
- X return 0;
- ! else if (errBitmask & errorTable[event->request_code].warning)
- X {
- X (void) fprintf(stderr, gettext("olvwm: Warning, X Error: %s\n"),
- X buffer);
- --- 225,238 ----
- X /*NOTREACHED*/
- X }
- X
- +
- X errBitmask = 1 << event->error_code;
- X
- ! if ((event->request_code < NXOPCODES) &&
- ! (errBitmask & errorTable[event->request_code].ignore))
- X return 0;
- ! else if ((event->request_code >= NXOPCODES) ||
- ! (errBitmask & errorTable[event->request_code].warning))
- X {
- X (void) fprintf(stderr, gettext("olvwm: Warning, X Error: %s\n"),
- X buffer);
- *** BUILD/Imakefile Sat Jun 13 15:51:00 1992
- --- src/Imakefile Sat Jun 13 15:43:21 1992
- ***************
- *** 28,34 ****
- X DEPLIBS =
- X LOCAL_LIBRARIES = $(OLGXLIB) $(XLIB)
- X
- ! HEADERS = cmdstream.h defaults.h environ.h events.h \
- X gettext.h globals.h group.h helpcmd.h i18n.h \
- X iconimage.h iconmask.h kbdfuncs.h list.h mem.h menu.h \
- X notice.h olcursor.h olgx_impl.h ollocale.h olwm.h \
- --- 28,34 ----
- X DEPLIBS =
- X LOCAL_LIBRARIES = $(OLGXLIB) $(XLIB)
- X
- ! HEADERS = cmdstream.h cursors.h defaults.h environ.h events.h \
- X gettext.h globals.h group.h helpcmd.h i18n.h \
- X iconimage.h iconmask.h kbdfuncs.h list.h mem.h menu.h \
- X notice.h olcursor.h olgx_impl.h ollocale.h olwm.h \
- ***************
- *** 46,52 ****
- X MISC = openwin-menu
- X
- X SRCS = Debug.c Error.c Notice.c Select.c WinInfo.c atom.c \
- ! client.c cmdstream.c defaults.c environ.c evbind.c \
- X events.c gettext.c group.c helpsend.c images.c kbdfuncs.c \
- X list.c mem.c menu.c moveresize.c ol_button.c olwm.c olvwmrc.c \
- X properties.c resources.c screen.c services.c slave.c slots.c \
- --- 46,52 ----
- X MISC = openwin-menu
- X
- X SRCS = Debug.c Error.c Notice.c Select.c WinInfo.c atom.c \
- ! client.c cmdstream.c cursors.c defaults.c environ.c evbind.c \
- X events.c gettext.c group.c helpsend.c images.c kbdfuncs.c \
- X list.c mem.c menu.c moveresize.c ol_button.c olwm.c olvwmrc.c \
- X properties.c resources.c screen.c services.c slave.c slots.c \
- ***************
- *** 58,64 ****
- X
- X OBJS = \
- X Debug.o Error.o Notice.o Select.o WinInfo.o atom.o \
- ! client.o cmdstream.o defaults.o environ.o evbind.o \
- X events.o gettext.o group.o helpsend.o images.o kbdfuncs.o \
- X list.o mem.o menu.o moveresize.o ol_button.o olwm.o olvwmrc.o \
- X properties.o resources.o screen.o services.o slave.o slots.o \
- --- 58,64 ----
- X
- X OBJS = \
- X Debug.o Error.o Notice.o Select.o WinInfo.o atom.o \
- ! client.o cmdstream.o cursors.o defaults.o environ.o evbind.o \
- X events.o gettext.o group.o helpsend.o images.o kbdfuncs.o \
- X list.o mem.o menu.o moveresize.o ol_button.o olwm.o olvwmrc.o \
- X properties.o resources.o screen.o services.o slave.o slots.o \
- diff -c BUILD/Makefile.sunpro src/Makefile.sunpro
- *** BUILD/Makefile.sunpro Sat Jun 13 15:51:00 1992
- --- src/Makefile.sunpro Sat Jun 13 15:43:21 1992
- ***************
- *** 8,14 ****
- X # to that directory but still want to install the helpfile, set HELPDIR
- X # to some other directory and add that directory to your HELPPATH.
- X # If you don't want to install the help file at all, set HELPDIR to /dev/null.
- ! HELPDIR = ${OPENWINHOME}/lib/info
- X
- X # Where to install the man pages: man1 dir is where olvwm.man will go;
- X # and man5 dir is where olvwmrc.man will go; youmay want to set these
- --- 8,14 ----
- X # to that directory but still want to install the helpfile, set HELPDIR
- X # to some other directory and add that directory to your HELPPATH.
- X # If you don't want to install the help file at all, set HELPDIR to /dev/null.
- ! HELPDIR = ${OPENWINHOME}/lib/help
- X
- X # Where to install the man pages: man1 dir is where olvwm.man will go;
- X # and man5 dir is where olvwmrc.man will go; youmay want to set these
- ***************
- *** 36,42 ****
- X INC = -I${OPENWINHOME}/include
- X CFLAGS = ${INC} ${DEBUG} -DOW_I18N_L3 -DSUNDAE -DSHAPE
- X
- ! HEADERS = cmdstream.h defaults.h environ.h events.h gettext.h \
- X globals.h group.h helpcmd.h i18n.h iconimage.h iconmask.h \
- X kbdfuncs.h list.h mem.h menu.h notice.h olcursor.h \
- X olgx_impl.h ollocale.h olwm.h patchlevel.h properties.h \
- --- 36,42 ----
- X INC = -I${OPENWINHOME}/include
- X CFLAGS = ${INC} ${DEBUG} -DOW_I18N_L3 -DSUNDAE -DSHAPE
- X
- ! HEADERS = cmdstream.h cursors.h defaults.h environ.h events.h gettext.h \
- X globals.h group.h helpcmd.h i18n.h iconimage.h iconmask.h \
- X kbdfuncs.h list.h mem.h menu.h notice.h olcursor.h \
- X olgx_impl.h ollocale.h olwm.h patchlevel.h properties.h \
- ***************
- *** 43,49 ****
- X resources.h screen.h slots.h st.h virtual.h win.h
- X
- X SRCS = Debug.c Error.c Notice.c Select.c WinInfo.c atom.c client.c \
- ! cmdstream.c defaults.c environ.c evbind.c events.c gettext.c \
- X group.c helpsend.c i18n.c kbdfuncs.c list.c mem.c menu.c \
- X moveresize.c olwm.c properties.c resources.c screen.c services.c \
- X slave.c slots.c st.c states.c usermenu.c usleep.c virtual.c \
- --- 43,49 ----
- X resources.h screen.h slots.h st.h virtual.h win.h
- X
- X SRCS = Debug.c Error.c Notice.c Select.c WinInfo.c atom.c client.c \
- ! cmdstream.c cursors.c defaults.c environ.c evbind.c events.c gettext.c \
- X group.c helpsend.c i18n.c kbdfuncs.c list.c mem.c menu.c \
- X moveresize.c olwm.c properties.c resources.c screen.c services.c \
- X slave.c slots.c st.c states.c usermenu.c usleep.c virtual.c \
- ***************
- *** 53,59 ****
- X ol_button.c
- X
- X LDFLAGS = -L${OPENWINHOME}/lib
- ! LIBS = ${LDFLAGS} -lolgx -lX11 -lXext -ll
- X
- X OBJS = ${SRCS:.c=.o} ${VERSION}
- X
- --- 53,59 ----
- X ol_button.c
- X
- X LDFLAGS = -L${OPENWINHOME}/lib
- ! LIBS = ${LDFLAGS} -lolgx -lXext -lX11 -ll
- X
- X OBJS = ${SRCS:.c=.o} ${VERSION}
- X
- diff -c BUILD/Notice.c src/Notice.c
- *** BUILD/Notice.c Sat Jun 13 15:50:27 1992
- --- src/Notice.c Sat Jun 13 15:43:21 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)Notice.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)Notice.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 338,344 ****
- X /* need to move each line further down the screen */
- X MIN_BOX_TOP + GRV.TextFontInfo->ascent * ( ii + 1 )
- X + ( MIN_STRING_VSPACE * ii ),
- ! 0, False, OLGX_NORMAL );
- X
- X /* put buttons in - notice that it's a single row */
- X /* row of buttons should be centered within available space,
- --- 338,344 ----
- X /* need to move each line further down the screen */
- X MIN_BOX_TOP + GRV.TextFontInfo->ascent * ( ii + 1 )
- X + ( MIN_STRING_VSPACE * ii ),
- ! 0, OLGX_NORMAL );
- X
- X /* put buttons in - notice that it's a single row */
- X /* row of buttons should be centered within available space,
- *** BUILD/client.c Sat Jun 13 15:50:31 1992
- --- src/client.c Sat Jun 13 15:49:02 1992
- ***************
- *** 7,13 ****
- X /* client.c - functions relating to clients as a whole
- X */
- X
- ! #ident "@(#)client.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 7,13 ----
- X /* client.c - functions relating to clients as a whole
- X */
- X
- ! #ident "@(#)client.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 111,118 ****
- X * private functions
- X ***************************************************************************/
- X
- - static void clientSetBusy();
- -
- X /*
- X * setComposeLed - sets the compose led to the new mode iff different than
- X * the current mode.
- --- 111,116 ----
- ***************
- *** 375,380 ****
- --- 373,379 ----
- X {
- X IconHide(cli, cli->iconwin);
- X }
- + IconUnparent(cli, cli->iconwin);
- X
- X frameInfo = cli->framewin;
- X paneInfo = (WinPane*)(frameInfo->fcore.panewin);
- ***************
- *** 480,485 ****
- --- 479,485 ----
- X }
- X
- X /* destroy the window resources associated with the client */
- + IconUnparent(cli, cli->iconwin);
- X WinCallDestroy(cli);
- X
- X GroupRemove(cli->groupid, cli);
- ***************
- *** 1159,1165 ****
- X }
- X
- X /*
- ! * ClientSetBusy -- the busy state has (possibly) been changed for a client.
- X * if the client is going from normal to busy:
- X * mark the client as busy
- X * put up a busy window
- --- 1159,1165 ----
- X }
- X
- X /*
- ! * ClientUpdateBusy -- the busy state has (possibly) been changed for a client.
- X * if the client is going from normal to busy:
- X * mark the client as busy
- X * put up a busy window
- ***************
- *** 1229,1235 ****
- X {
- X List *l = ActiveClientList;
- X Client *cli;
- -
- X
- X for (cli = ListEnum(&l); cli != NULL; cli = ListEnum(&l)) {
- X if (cli->framewin && cli->framewin->fcore.panewin &&
- --- 1229,1234 ----
- diff -c BUILD/evbind.c src/evbind.c
- *** BUILD/evbind.c Sat Jun 13 15:50:33 1992
- --- src/evbind.c Sat Jun 13 15:43:22 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)evbind.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)evbind.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 87,94 ****
- X XrmValue value;
- X ModDescriptor *d;
- X unsigned int polyStringToModifier();
- - static XrmBinding bindings[] =
- - { XrmBindTightly, XrmBindTightly, XrmBindTightly };
- X
- X classlist[0] = OpenWinQ;
- X classlist[1] = modClassQ;
- --- 87,92 ----
- ***************
- *** 434,446 ****
- X ACTION_TOGGLE_PIN, KD_FULL
- X }, {
- X "SuspendMouseless", "z+Alt", keySuspend,
- ! ACTION_NONE, KD_BASIC_FULL
- X }, {
- X "ResumeMouseless", "Z+Alt", keyResume,
- ! ACTION_NONE, KD_IMMUNE | KD_BASIC_FULL
- X }, {
- X "QuoteNextKey", "q+Alt", keyQuoteNext,
- ! ACTION_NONE, KD_BASIC_FULL
- X }, {
- X "Refresh", "F8+Alt", KeyRefresh,
- X ACTION_NONE, KD_FULL
- --- 432,444 ----
- X ACTION_TOGGLE_PIN, KD_FULL
- X }, {
- X "SuspendMouseless", "z+Alt", keySuspend,
- ! ACTION_NONE, KD_FULL
- X }, {
- X "ResumeMouseless", "Z+Alt", keyResume,
- ! ACTION_NONE, KD_IMMUNE | KD_FULL
- X }, {
- X "QuoteNextKey", "q+Alt", keyQuoteNext,
- ! ACTION_NONE, KD_FULL
- X }, {
- X "Refresh", "F8+Alt", KeyRefresh,
- X ACTION_NONE, KD_FULL
- ***************
- *** 480,485 ****
- --- 478,498 ----
- X }, {
- X "RaiseLower", "L5", KeyRaiseLowerPointer,
- X ACTION_NONE, KD_ALWAYS
- + }, {
- + "ToggleFullSizeZoomX", "F3+Alt+Shift", KeyToggleFullSizeZoomX,
- + ACTION_NONE, KD_FULL
- + }, {
- + "ToggleDragWindow", "F6+Alt+Shift", KeyToggleDragWindow,
- + ACTION_NONE, KD_FULL
- + }, {
- + "ToggleMoveGroups", "g+Alt", KeyToggleMoveGroups,
- + ACTION_NONE, KD_FULL
- + }, {
- + "ToggleSticky", "s+Alt", KeyToggleSticky,
- + ACTION_NONE, KD_FULL
- + }, {
- + "SaveWorkspace", "F10+Meta+Alt+Shift", KeySaveWorkspace,
- + ACTION_NONE, KD_ALWAYS
- X },
- X
- X /*
- ***************
- *** 488,625 ****
- X * modifier are grabbed and are always active, otherwise they fall through
- X * to the no focus window which moves the vdm
- X *
- - * We don't have a nofocus action for R7 and R13 since they already have
- - * an action above
- X */
- X { "VirtualUp", "Up+Meta", KeyMoveVDM,
- ! ACTION_UP, KD_ALWAYS },
- X { "HalfUp", "Up+Shift", NULLFUNC,
- ! ACTION_HALF_UP, KD_ALWAYS },
- X { "VirtualHalfUp", "Up+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UP, KD_ALWAYS },
- X { "VirtualJumpUp", "Up+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UP, KD_ALWAYS },
- X
- X { "VirtualDown", "Down+Meta", KeyMoveVDM,
- ! ACTION_DOWN, KD_ALWAYS },
- X { "HalfDown", "Down+Shift", NULLFUNC,
- ! ACTION_HALF_DOWN, KD_ALWAYS },
- X { "VirtualHalfDown", "Down+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWN, KD_ALWAYS },
- X { "VirtualJumpDown", "Down+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWN, KD_ALWAYS },
- X
- X { "VirtualLeft", "Left+Meta", KeyMoveVDM,
- ! ACTION_LEFT, KD_ALWAYS },
- X { "HalfLeft", "Left+Shift", NULLFUNC,
- ! ACTION_HALF_LEFT, KD_ALWAYS },
- X { "VirtualHalfLeft", "Left+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_LEFT, KD_ALWAYS },
- X { "VirtualJumpLeft", "Left+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_LEFT, KD_ALWAYS },
- X
- X { "VirtualRight", "Right+Meta", KeyMoveVDM,
- ! ACTION_RIGHT, KD_ALWAYS },
- X { "HalfRight", "Right+Shift", NULLFUNC,
- ! ACTION_HALF_RIGHT, KD_ALWAYS },
- X { "VirtualHalfRight", "Right+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_RIGHT, KD_ALWAYS },
- X { "VirtualJumpRight", "Right+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_RIGHT, KD_ALWAYS },
- X
- X { "VirtualUpLeft", "R7+Meta", KeyMoveVDM,
- ! ACTION_UPLEFT, KD_ALWAYS },
- X { "JumpUpLeft", "R7+Ctrl", NULLFUNC,
- ! ACTION_JUMP_UPLEFT, KD_ALWAYS },
- X { "VirtualJumpUpLeft", "R7+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UPLEFT, KD_ALWAYS },
- X { "HalfUpLeft", "R7+Shift", NULLFUNC,
- ! ACTION_HALF_UPLEFT, KD_ALWAYS },
- X { "VirtualHalfUpLeft", "R7+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UPLEFT, KD_ALWAYS },
- X
- X { "VirtualUpRight", "R9+Meta", KeyMoveVDM,
- ! ACTION_UPRIGHT, KD_ALWAYS },
- X { "UpRight", "R9", NULLFUNC,
- ! ACTION_UPRIGHT, KD_ALWAYS },
- X { "JumpUpRight", "R9+Ctrl", NULLFUNC,
- ! ACTION_JUMP_UPRIGHT, KD_ALWAYS },
- X { "VirtualJumpUpRight", "R9+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UPRIGHT, KD_ALWAYS },
- X { "HalfUpRight", "R9+Shift", NULLFUNC,
- ! ACTION_HALF_UPRIGHT, KD_ALWAYS },
- X { "VirtualHalfUpRight", "R9+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UPRIGHT, KD_ALWAYS },
- X
- X { "VirtualDownLeft", "R13+Meta", KeyMoveVDM,
- ! ACTION_DOWNLEFT, KD_ALWAYS },
- X { "JumpDownLeft", "R13+Ctrl", NULLFUNC,
- ! ACTION_JUMP_DOWNLEFT, KD_ALWAYS },
- X { "VirtualJumpDownLeft", "R13+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWNLEFT, KD_ALWAYS },
- X { "HalfDownLeft", "R13+Shift", NULLFUNC,
- ! ACTION_HALF_DOWNLEFT, KD_ALWAYS },
- X { "VirtualHalfDownLeft", "R13+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWNLEFT, KD_ALWAYS },
- X
- X { "VirtualDownRight", "R15+Meta", KeyMoveVDM,
- ! ACTION_DOWNRIGHT, KD_ALWAYS },
- X { "DownRight", "R15", NULLFUNC,
- ! ACTION_DOWNRIGHT, KD_ALWAYS },
- X { "JumpDownRight", "R15+Ctrl", NULLFUNC,
- ! ACTION_JUMP_DOWNRIGHT, KD_ALWAYS },
- X { "VirtualJumpDownRight", "R15+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWNRIGHT, KD_ALWAYS },
- X { "HalfDownRight", "R15+Shift", NULLFUNC,
- ! ACTION_HALF_DOWNRIGHT, KD_ALWAYS },
- X { "VirtualHalfDownRight", "R15+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWNRIGHT, KD_ALWAYS },
- X
- X { "VirtualHome", "R11+Meta", KeyMoveVDM,
- ! ACTION_HOME, KD_ALWAYS },
- X { "GoHome", "R11", NULLFUNC,
- ! ACTION_HOME, KD_ALWAYS },
- X
- X { "VirtualScreen1", "F1+Meta", KeyMoveVDM,
- ! ACTION_GOTO_1, KD_ALWAYS },
- X { "Screen1", "F1", NULLFUNC,
- ! ACTION_GOTO_1, KD_ALWAYS },
- X { "VirtualScreen2", "F2+Meta", KeyMoveVDM,
- ! ACTION_GOTO_2, KD_ALWAYS },
- X { "Screen2", "F2", NULLFUNC,
- ! ACTION_GOTO_2, KD_ALWAYS },
- X { "VirtualScreen3", "F3+Meta", KeyMoveVDM,
- ! ACTION_GOTO_3, KD_ALWAYS },
- X { "Screen3", "F3", NULLFUNC,
- ! ACTION_GOTO_3, KD_ALWAYS },
- X { "VirtualScreen4", "F4+Meta", KeyMoveVDM,
- ! ACTION_GOTO_4, KD_ALWAYS },
- X { "Screen4", "F4", NULLFUNC,
- ! ACTION_GOTO_4, KD_ALWAYS },
- X { "VirtualScreen5", "F5+Meta", KeyMoveVDM,
- ! ACTION_GOTO_5, KD_ALWAYS },
- X { "Screen5", "F5", NULLFUNC,
- ! ACTION_GOTO_5, KD_ALWAYS },
- X { "VirtualScreen6", "F6+Meta", KeyMoveVDM,
- ! ACTION_GOTO_6, KD_ALWAYS },
- X { "Screen6", "F6", NULLFUNC,
- ! ACTION_GOTO_6, KD_ALWAYS },
- X { "VirtualScreen7", "F7+Meta", KeyMoveVDM,
- ! ACTION_GOTO_7, KD_ALWAYS },
- X { "Screen7", "F7", NULLFUNC,
- ! ACTION_GOTO_7, KD_ALWAYS },
- X { "VirtualScreen8", "F8+Meta", KeyMoveVDM,
- ! ACTION_GOTO_8, KD_ALWAYS },
- X { "Screen8", "F8", NULLFUNC,
- ! ACTION_GOTO_8, KD_ALWAYS },
- X { "VirtualScreen9", "F9+Meta", KeyMoveVDM,
- ! ACTION_GOTO_9, KD_ALWAYS },
- X { "Screen9", "F9", NULLFUNC,
- ! ACTION_GOTO_9, KD_ALWAYS },
- X { "VirtualScreen10", "F10+Meta", KeyMoveVDM,
- ! ACTION_GOTO_10, KD_ALWAYS },
- X { "Screen10", "F10", NULLFUNC,
- ! ACTION_GOTO_10, KD_ALWAYS },
- X };
- X
- X #define NUMKEYDESCRIPTORS (sizeof(KeyDescriptorTable)/sizeof(KeyDescriptor))
- --- 501,640 ----
- X * modifier are grabbed and are always active, otherwise they fall through
- X * to the no focus window which moves the vdm
- X *
- X */
- X { "VirtualUp", "Up+Meta", KeyMoveVDM,
- ! ACTION_UP, KD_VIRTUAL },
- X { "HalfUp", "Up+Shift", NULLFUNC,
- ! ACTION_HALF_UP, KD_VIRTUAL },
- X { "VirtualHalfUp", "Up+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UP, KD_VIRTUAL },
- X { "VirtualJumpUp", "Up+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UP, KD_VIRTUAL },
- X
- X { "VirtualDown", "Down+Meta", KeyMoveVDM,
- ! ACTION_DOWN, KD_VIRTUAL },
- X { "HalfDown", "Down+Shift", NULLFUNC,
- ! ACTION_HALF_DOWN, KD_VIRTUAL },
- X { "VirtualHalfDown", "Down+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWN, KD_VIRTUAL },
- X { "VirtualJumpDown", "Down+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWN, KD_VIRTUAL },
- X
- X { "VirtualLeft", "Left+Meta", KeyMoveVDM,
- ! ACTION_LEFT, KD_VIRTUAL },
- X { "HalfLeft", "Left+Shift", NULLFUNC,
- ! ACTION_HALF_LEFT, KD_VIRTUAL },
- X { "VirtualHalfLeft", "Left+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_LEFT, KD_VIRTUAL },
- X { "VirtualJumpLeft", "Left+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_LEFT, KD_VIRTUAL },
- X
- X { "VirtualRight", "Right+Meta", KeyMoveVDM,
- ! ACTION_RIGHT, KD_VIRTUAL },
- X { "HalfRight", "Right+Shift", NULLFUNC,
- ! ACTION_HALF_RIGHT, KD_VIRTUAL },
- X { "VirtualHalfRight", "Right+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_RIGHT, KD_VIRTUAL },
- X { "VirtualJumpRight", "Right+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_RIGHT, KD_VIRTUAL },
- X
- + { "UpLeft", "R7", NULLFUNC,
- + ACTION_UPLEFT, KD_VIRTUAL },
- X { "VirtualUpLeft", "R7+Meta", KeyMoveVDM,
- ! ACTION_UPLEFT, KD_VIRTUAL },
- X { "JumpUpLeft", "R7+Ctrl", NULLFUNC,
- ! ACTION_JUMP_UPLEFT, KD_VIRTUAL },
- X { "VirtualJumpUpLeft", "R7+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UPLEFT, KD_VIRTUAL },
- X { "HalfUpLeft", "R7+Shift", NULLFUNC,
- ! ACTION_HALF_UPLEFT, KD_VIRTUAL },
- X { "VirtualHalfUpLeft", "R7+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UPLEFT, KD_VIRTUAL },
- X
- X { "VirtualUpRight", "R9+Meta", KeyMoveVDM,
- ! ACTION_UPRIGHT, KD_VIRTUAL },
- X { "UpRight", "R9", NULLFUNC,
- ! ACTION_UPRIGHT, KD_VIRTUAL },
- X { "JumpUpRight", "R9+Ctrl", NULLFUNC,
- ! ACTION_JUMP_UPRIGHT, KD_VIRTUAL },
- X { "VirtualJumpUpRight", "R9+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_UPRIGHT, KD_VIRTUAL },
- X { "HalfUpRight", "R9+Shift", NULLFUNC,
- ! ACTION_HALF_UPRIGHT, KD_VIRTUAL },
- X { "VirtualHalfUpRight", "R9+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_UPRIGHT, KD_VIRTUAL },
- X
- + { "DownLeft", "R13", NULLFUNC,
- + ACTION_DOWNLEFT, KD_VIRTUAL },
- X { "VirtualDownLeft", "R13+Meta", KeyMoveVDM,
- ! ACTION_DOWNLEFT, KD_VIRTUAL },
- X { "JumpDownLeft", "R13+Ctrl", NULLFUNC,
- ! ACTION_JUMP_DOWNLEFT, KD_VIRTUAL },
- X { "VirtualJumpDownLeft", "R13+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWNLEFT, KD_VIRTUAL },
- X { "HalfDownLeft", "R13+Shift", NULLFUNC,
- ! ACTION_HALF_DOWNLEFT, KD_VIRTUAL },
- X { "VirtualHalfDownLeft", "R13+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWNLEFT, KD_VIRTUAL },
- X
- X { "VirtualDownRight", "R15+Meta", KeyMoveVDM,
- ! ACTION_DOWNRIGHT, KD_VIRTUAL },
- X { "DownRight", "R15", NULLFUNC,
- ! ACTION_DOWNRIGHT, KD_VIRTUAL },
- X { "JumpDownRight", "R15+Ctrl", NULLFUNC,
- ! ACTION_JUMP_DOWNRIGHT, KD_VIRTUAL },
- X { "VirtualJumpDownRight", "R15+Ctrl+Meta", KeyMoveVDM,
- ! ACTION_JUMP_DOWNRIGHT, KD_VIRTUAL },
- X { "HalfDownRight", "R15+Shift", NULLFUNC,
- ! ACTION_HALF_DOWNRIGHT, KD_VIRTUAL },
- X { "VirtualHalfDownRight", "R15+Shift+Meta", KeyMoveVDM,
- ! ACTION_HALF_DOWNRIGHT, KD_VIRTUAL },
- X
- X { "VirtualHome", "R11+Meta", KeyMoveVDM,
- ! ACTION_HOME, KD_VIRTUAL },
- X { "GoHome", "R11", NULLFUNC,
- ! ACTION_HOME, KD_VIRTUAL },
- X
- X { "VirtualScreen1", "F1+Meta", KeyMoveVDM,
- ! ACTION_GOTO_1, KD_VIRTUAL },
- X { "Screen1", "F1", NULLFUNC,
- ! ACTION_GOTO_1, KD_VIRTUAL },
- X { "VirtualScreen2", "F2+Meta", KeyMoveVDM,
- ! ACTION_GOTO_2, KD_VIRTUAL },
- X { "Screen2", "F2", NULLFUNC,
- ! ACTION_GOTO_2, KD_VIRTUAL },
- X { "VirtualScreen3", "F3+Meta", KeyMoveVDM,
- ! ACTION_GOTO_3, KD_VIRTUAL },
- X { "Screen3", "F3", NULLFUNC,
- ! ACTION_GOTO_3, KD_VIRTUAL },
- X { "VirtualScreen4", "F4+Meta", KeyMoveVDM,
- ! ACTION_GOTO_4, KD_VIRTUAL },
- X { "Screen4", "F4", NULLFUNC,
- ! ACTION_GOTO_4, KD_VIRTUAL },
- X { "VirtualScreen5", "F5+Meta", KeyMoveVDM,
- ! ACTION_GOTO_5, KD_VIRTUAL },
- X { "Screen5", "F5", NULLFUNC,
- ! ACTION_GOTO_5, KD_VIRTUAL },
- X { "VirtualScreen6", "F6+Meta", KeyMoveVDM,
- ! ACTION_GOTO_6, KD_VIRTUAL },
- X { "Screen6", "F6", NULLFUNC,
- ! ACTION_GOTO_6, KD_VIRTUAL },
- X { "VirtualScreen7", "F7+Meta", KeyMoveVDM,
- ! ACTION_GOTO_7, KD_VIRTUAL },
- X { "Screen7", "F7", NULLFUNC,
- ! ACTION_GOTO_7, KD_VIRTUAL },
- X { "VirtualScreen8", "F8+Meta", KeyMoveVDM,
- ! ACTION_GOTO_8, KD_VIRTUAL },
- X { "Screen8", "F8", NULLFUNC,
- ! ACTION_GOTO_8, KD_VIRTUAL },
- X { "VirtualScreen9", "F9+Meta", KeyMoveVDM,
- ! ACTION_GOTO_9, KD_VIRTUAL },
- X { "Screen9", "F9", NULLFUNC,
- ! ACTION_GOTO_9, KD_VIRTUAL },
- X { "VirtualScreen10", "F10+Meta", KeyMoveVDM,
- ! ACTION_GOTO_10, KD_VIRTUAL },
- X { "Screen10", "F10", NULLFUNC,
- ! ACTION_GOTO_10, KD_VIRTUAL },
- X };
- X
- X #define NUMKEYDESCRIPTORS (sizeof(KeyDescriptorTable)/sizeof(KeyDescriptor))
- ***************
- *** 1000,1017 ****
- X * root window. Run through the binding table and un/grab the key-modifier
- X * combination itself, and also combined with the Lock and NumLock (if any)
- X * modifier. There thus may be up to four actual grabs per key binding.
- X */
- X static void
- ! grabRootKeys(dpy, root, grab)
- X Display *dpy;
- X Window root;
- X Bool grab; /* True = grab, False = release */
- X {
- X KeyBinding *k;
- X unsigned int NumLockMask =
- X FindModifierMask(XKeysymToKeycode(dpy, XK_Num_Lock));
- X for (k=KeyBindingTable; k < KeyBindingTable+bindingTableCount; ++k) {
- ! if (k->desc->function != NULLFUNC) {
- X if (grab) {
- X XGrabKey(dpy, k->keycode, k->modstate,
- X root, False, GrabModeAsync, GrabModeSync);
- --- 1015,1038 ----
- X * root window. Run through the binding table and un/grab the key-modifier
- X * combination itself, and also combined with the Lock and NumLock (if any)
- X * modifier. There thus may be up to four actual grabs per key binding.
- + *
- + * If virtual_only is true, we only grab the virtual root keys; this is
- + * e.g. when .olvwmrc changes the keys we're interested in.
- X */
- X static void
- ! grabRootKeys(dpy, root, grab, virtual_only)
- X Display *dpy;
- X Window root;
- X Bool grab; /* True = grab, False = release */
- + Bool virtual_only;
- X {
- X KeyBinding *k;
- X unsigned int NumLockMask =
- X FindModifierMask(XKeysymToKeycode(dpy, XK_Num_Lock));
- +
- X for (k=KeyBindingTable; k < KeyBindingTable+bindingTableCount; ++k) {
- ! if (k->desc->function != NULLFUNC &&
- ! (!virtual_only || k->desc->action == ACTION_VIRTUAL)) {
- X if (grab) {
- X XGrabKey(dpy, k->keycode, k->modstate,
- X root, False, GrabModeAsync, GrabModeSync);
- ***************
- *** 1231,1247 ****
- X * grab = False, release the keys. Note: the screens and the keyboard binding
- X * information must be initialized prior to calling this function.
- X */
- X void
- ! GrabKeys(dpy, grab)
- X Display *dpy;
- X Bool grab;
- X {
- X List *l = ScreenInfoList;
- X ScreenInfo *scr;
- X for (scr = ListEnum(&l); scr != NULL; scr = ListEnum(&l))
- ! grabRootKeys(dpy, scr->rootid, grab);
- X }
- X
- X
- X /*
- X * Remove all key grabs, zero out the binding table, and rebuild it from the
- --- 1252,1277 ----
- X * grab = False, release the keys. Note: the screens and the keyboard binding
- X * information must be initialized prior to calling this function.
- X */
- +
- X void
- ! GrabVKeys(dpy, grab, virtual_only)
- X Display *dpy;
- X Bool grab;
- + Bool virtual_only;
- X {
- X List *l = ScreenInfoList;
- X ScreenInfo *scr;
- X for (scr = ListEnum(&l); scr != NULL; scr = ListEnum(&l))
- ! grabRootKeys(dpy, scr->rootid, grab, virtual_only);
- X }
- X
- + void
- + GrabKeys(dpy, grab)
- + Display *dpy;
- + Bool grab;
- + {
- + GrabVKeys(dpy, grab, False);
- + }
- X
- X /*
- X * Remove all key grabs, zero out the binding table, and rebuild it from the
- ***************
- *** 1306,1312 ****
- --- 1336,1349 ----
- X Bool regrab = False;
- X static XrmBinding bindings[] =
- X { XrmBindTightly, XrmBindTightly, XrmBindTightly };
- + int size = sizeof(mouselessMaskTable) / sizeof(mouselessMaskTable[0]);
- + int i;
- X
- + if (GRV.GrabVirtualKeys)
- + for (i = 0; i < size; i++)
- + mouselessMaskTable[i] |= KD_VIRTUAL;
- + else for (i = 0; i < size; i++)
- + mouselessMaskTable[i] &= ~KD_VIRTUAL;
- X GrabButtons(dpy, False);
- X establishModBindings(dpy, newDB);
- X GrabButtons(dpy, True);
- ***************
- *** 1374,1379 ****
- --- 1411,1419 ----
- X InitBindings(dpy)
- X Display *dpy;
- X {
- + int size = sizeof(mouselessMaskTable) / sizeof(mouselessMaskTable[0]);
- + int i;
- +
- X kbdCmdInstanceQ = XrmStringToQuark("keyboardCommand");
- X kbdCmdClassQ = XrmStringToQuark("KeyboardCommand");
- X
- ***************
- *** 1380,1387 ****
- --- 1420,1458 ----
- X modInstanceQ = XrmStringToQuark("modifier");
- X modClassQ = XrmStringToQuark("Modifier");
- X
- + if (GRV.GrabVirtualKeys)
- + for (i = 0; i < size; i++)
- + mouselessMaskTable[i] |= KD_VIRTUAL;
- X KeyBindingTable = MemCalloc(KEYBINDING_TABLE_SIZE,sizeof(KeyBinding));
- X bindingTableSize = KEYBINDING_TABLE_SIZE;
- X establishKeyBindings(dpy);
- X establishModBindings(dpy, OlwmDB);
- + }
- +
- + /*
- + * Disable/Enable program keys in given range
- + */
- + void
- + SetProgKeys(dpy, start_sym, end_sym, modstate, off)
- + Display *dpy;
- + KeySym start_sym;
- + KeySym end_sym;
- + unsigned long modstate;
- + Boolean off;
- + {
- + KeyBinding *k;
- + KeySym keysym;
- + extern CheckForKeyProg();
- +
- + for(k=KeyBindingTable; k < KeyBindingTable+bindingTableCount; ++k) {
- + if (k->desc->action == ACTION_VIRTUAL) {
- + keysym = XKeycodeToKeysym(dpy, k->keycode, 0);
- + if ((modstate == 0L || (k->modstate & modstate))
- + && (start_sym == NoSymbol || keysym >= start_sym)
- + && (end_sym == NoSymbol || keysym <= end_sym)) {
- + k->desc->function =
- + off ? NULLFUNC : (void (*)()) CheckForKeyProg;
- + }
- + }
- + }
- X }
- *** BUILD/events.c Sat Jun 13 15:50:17 1992
- --- src/events.c Sat Jun 13 15:43:22 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)events.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)events.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 435,446 ****
- X *
- X * All device events (mouse and keyboard events) have types
- X * that fall in between KeyPress and MotionNotify.
- X */
- X if (event.xany.send_event
- X && event.type <= MotionNotify
- ! && event.type >= KeyPress)
- X continue;
- !
- X
- X /*
- X * Handle MappingNotify events. These events don't have
- --- 435,457 ----
- X *
- X * All device events (mouse and keyboard events) have types
- X * that fall in between KeyPress and MotionNotify.
- + *
- + * But, if we allow synthetic events if the correct resource
- + * is set
- X */
- X if (event.xany.send_event
- X && event.type <= MotionNotify
- ! && event.type >= KeyPress
- ! && (!GRV.AllowSyntheticEvents ||
- ! !GRV.SyntheticEvents))
- X continue;
- !
- ! /*
- ! * If its a function key, see if we need to ReRead olvwmrc
- ! */
- ! if ((event.type == KeyPress) && GRV.VirtualReRead &&
- ! IsFunctionKey(XLookupKeysym(&event, 0)))
- ! CheckOlvwmRC(dpy);
- X
- X /*
- X * Handle MappingNotify events. These events don't have
- *** BUILD/gettext.c Sat Jun 13 15:50:08 1992
- --- src/gettext.c Sat Jun 13 15:43:22 1992
- ***************
- *** 1,7 ****
- --- 1,13 ----
- X /* Copyright (c) 1990 Sun Microsystems */
- X /* All Rights Reserved */
- X
- + #ident "@(#)gettext.c 1.2 olvwm version 6/13/92"
- +
- + /*
- + * Based on
- X #ident "@(#)gettext.c 1.7 91/09/14 SMI"
- + *
- + */
- X
- X #ifdef SUNDAE
- X
- ***************
- *** 236,242 ****
- X gettext(msg_id)
- X char *msg_id;
- X {
- ! return (dgettext(NULL, msg_id));
- X }
- X
- X
- --- 242,250 ----
- X gettext(msg_id)
- X char *msg_id;
- X {
- ! if (msg_id)
- ! return (dgettext(NULL, msg_id));
- ! return NULL;
- X }
- X
- X
- *** BUILD/globals.h Sat Jun 13 15:51:00 1992
- --- src/globals.h Sat Jun 13 15:43:23 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)globals.h 1.2 olvwm version 1/27/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)globals.h 1.3 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 27,32 ****
- --- 27,34 ----
- X
- X typedef enum { UseNone, UseVDM, UseAll } ImageType;
- X
- + typedef enum { SortYounger, SortAlpha } SortType;
- +
- X typedef struct _globalResourceVariables {
- X char *WorkspaceColor;
- X char *WindowColor;
- ***************
- *** 162,167 ****
- --- 164,199 ----
- X Bool VirtualMoveGroups;
- X Bool PointerWorkspace;
- X char *SaveWorkspaceCmd;
- + SortType VirtualMenuSort;
- + SortType VirtualDirSort;
- +
- + /* Special resize cursors */
- + char *SpecialResizePointerData;
- + Bool SpecialResizePointers;
- + Cursor CornerPointers[4];
- + Cursor ResizePointers[4];
- + /* Other Cursors */
- + Cursor CloseUpPointer;
- + Cursor CloseDownPointer;
- + char *BasicPointerData;
- + char *MovePointerData;
- + char *BusyPointerData;
- + char *IconPointerData;
- + char *ResizePointerData;
- + char *MenuPointerData;
- + char *QuestionPointerData;
- + char *TargetPointerData;
- + char *PanPointerData;
- + char *CloseUpPointerData;
- + char *CloseDownPointerData;
- +
- + Bool VirtualReRead;
- + Bool AllowSyntheticEvents;
- + Bool SyntheticEvents;
- + List *NoVirtualKey;
- + List *NoVirtualLKey;
- + List *NoVirtualFKey;
- + List *NoVirtualRKey;
- X } GlobalResourceVariables;
- X
- X extern GlobalResourceVariables GRV;
- *** BUILD/images.c Sat Jun 13 15:50:34 1992
- --- src/images.c Sat Jun 13 15:43:23 1992
- ***************
- *** 3,9 ****
- X * license
- X */
- X
- ! #ident "@(#)images.c 1.1 olvwm version 1/3/92"
- X
- X /* Use small images */
- X #define SMALL_IMAGES
- --- 3,9 ----
- X * license
- X */
- X
- ! #ident "@(#)images.c 1.2 olvwm version 6/13/92"
- X
- X /* Use small images */
- X #define SMALL_IMAGES
- ***************
- *** 717,724 ****
- X 0x00,0x00, 0x20,0x00, 0x50,0x00, 0x88,0x00, 0x04,0x41, 0x08,0x62, 0x10,0x54,
- X 0x20,0x48, 0x40,0x40, 0x80,0x40, 0x00,0x41, 0x80,0x40, 0x40,0x40, 0xe0,0x7f,
- X };
- -
- - extern Button openButton;
- X
- X Button *
- X MakeOpenButton(dpy, scrInfo)
- --- 717,722 ----
- *** BUILD/kbdfuncs.c Sat Jun 13 15:50:24 1992
- --- src/kbdfuncs.c Sat Jun 13 15:43:23 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)kbdfuncs.c 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)kbdfuncs.c 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 520,525 ****
- --- 520,527 ----
- X * override-redirect windows.
- X */
- X if (childUnderPointer(dpy, ke, &child, &childinfo, &cli)) {
- + if (cli->wmDecors->flags & WMNoDecor)
- + return;
- X if (cli->transientFor != 0 &&
- X GRV.KeepTransientsAbove &&
- X (owner = WIGetInfo(cli->transientFor)) != NULL &&
- ***************
- *** 571,577 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (childUnderPointer(dpy, ke, &child, &childinfo, &cli))
- X ClientOpenCloseToggle(cli);
- X }
- X
- --- 573,580 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (childUnderPointer(dpy, ke, &child, &childinfo, &cli) &&
- ! !(cli->wmDecors->flags & WMNoDecor))
- X ClientOpenCloseToggle(cli);
- X }
- X
- ***************
- *** 709,715 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientFront(CurrentClient);
- X }
- X
- --- 712,719 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientFront(CurrentClient);
- X }
- X
- ***************
- *** 725,731 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientBack(CurrentClient);
- X }
- X
- --- 729,736 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientBack(CurrentClient);
- X }
- X
- ***************
- *** 741,747 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientOpenCloseToggle(CurrentClient);
- X }
- X
- --- 746,753 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientOpenCloseToggle(CurrentClient);
- X }
- X
- ***************
- *** 757,763 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientFullRestoreSizeToggle(CurrentClient);
- X }
- X
- --- 763,770 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientFullRestoreSizeToggle(CurrentClient);
- X }
- X
- ***************
- *** 773,779 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientKill(CurrentClient, True);
- X }
- X
- --- 780,787 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientKill(CurrentClient, True);
- X }
- X
- ***************
- *** 805,811 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientMove(CurrentClient,ke);
- X }
- X
- --- 813,820 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientMove(CurrentClient,ke);
- X }
- X
- ***************
- *** 821,827 ****
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL)
- X ClientResize(CurrentClient, ke, keyevent, NULL, NULL);
- X }
- X
- --- 830,837 ----
- X if (ke->type != KeyPress)
- X return;
- X
- ! if (CurrentClient->framewin != NULL &&
- ! !(CurrentClient->wmDecors->flags & WMNoDecor))
- X ClientResize(CurrentClient, ke, keyevent, NULL, NULL);
- X }
- X
- ***************
- *** 869,872 ****
- --- 879,949 ----
- X else {
- X ShowStandardMenu(frameInfo, ke, False);
- X }
- + }
- +
- + /*
- + * Toggle the resource FullSizeZoomX.
- + */
- + void
- + KeyToggleFullSizeZoomX(dpy, ke)
- + Display *dpy;
- + XKeyEvent *ke;
- + {
- + if (ke->type != KeyPress)
- + return;
- + GRV.FullSizeZoomX = !GRV.FullSizeZoomX;
- + }
- +
- + /*
- + * Toggle the resource DragWindow
- + */
- + void
- + KeyToggleDragWindow(dpy, ke)
- + Display *dpy;
- + XKeyEvent *ke;
- + {
- + if (ke->type != KeyPress)
- + return;
- + GRV.DragWindow = !GRV.DragWindow;
- + }
- +
- + /*
- + * Toggle the resource VirtualMoveGroups resource
- + */
- + void
- + KeyToggleMoveGroups(dpy, ke)
- + Display *dpy;
- + XKeyEvent *ke;
- + {
- + if (ke->type != KeyPress)
- + return;
- + GRV.VirtualMoveGroups = !GRV.VirtualMoveGroups;
- + }
- +
- + /*
- + * Perform the Stick/Unstick Action
- + */
- + void
- + KeyToggleSticky(dpy, ke)
- + Display *dpy;
- + XKeyEvent *ke;
- + {
- + if (ke->type != KeyPress)
- + return;
- + if (CurrentClient->framewin != NULL &&
- + !(CurrentClient->wmDecors->flags & WMNoDecor))
- + ClientStickUnstickToggle(CurrentClient);
- + }
- +
- + /*
- + * Save the workspace
- + */
- + void
- + KeySaveWorkspace(dpy, ev)
- + Display *dpy;
- + XEvent *ev;
- + {
- + if (ev->type != KeyPress)
- + return;
- + SaveWorkspaceFunc(dpy, lookupWindow(ev), NULL, 0);
- X }
- *** BUILD/kbdfuncs.h Sat Jun 13 15:49:44 1992
- --- src/kbdfuncs.h Sat Jun 13 15:43:24 1992
- ***************
- *** 7,13 ****
- X #ifndef _OLWM_KBDFUNCS_H
- X #define _OLWM_KBDFUNCS_H
- X
- ! #ident "@(#)kbdfuncs.h 1.1 olvwm version 1/3/92"
- X
- X /*
- X * Based on
- --- 7,13 ----
- X #ifndef _OLWM_KBDFUNCS_H
- X #define _OLWM_KBDFUNCS_H
- X
- ! #ident "@(#)kbdfuncs.h 1.2 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 39,44 ****
- --- 39,49 ----
- X extern void KeyUnlockColormap();
- X extern void KeyWindowMenu();
- X extern void KeyWorkspaceMenu();
- + extern void KeyToggleFullSizeZoomX(); /* Toggle resource FullSizeZoomX. */
- + extern void KeyToggleDragWindow(); /* Toggle resource DragWindow. */
- + extern void KeyToggleMoveGroups(); /* Toggle resource VirtualMoveGroups. */
- + extern void KeyToggleSticky(); /* Toggle Sticky State */
- + extern void KeySaveWorkspace();
- X
- X extern void KeyMoveVDM();
- X extern void AddKeyBinding();
- ***************
- *** 56,61 ****
- --- 61,67 ----
- X #define KD_SUNVIEW (1<<1) /* active if mouseless == SunView */
- X #define KD_BASIC (1<<2) /* active if mouseless == basic */
- X #define KD_FULL (1<<3) /* active if mouseless == full */
- + #define KD_VIRTUAL (1<<4) /* active if VirtualGrabKeys == True */
- X
- X #define KD_BASIC_FULL (KD_BASIC | KD_FULL)
- X #define KD_ALWAYS (KD_SUNVIEW | KD_BASIC_FULL)
- *** BUILD/menu.c Sat Jun 13 15:51:01 1992
- --- src/menu.c Sat Jun 13 15:43:24 1992
- ***************
- *** 4,10 ****
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)menu.c 1.2 olvwm version 1/27/92"
- X
- X /*
- X * Based on
- --- 4,10 ----
- X * file for terms of the license.
- X */
- X
- ! #ident "@(#)menu.c 1.3 olvwm version 6/13/92"
- X
- X /*
- X * Based on
- ***************
- *** 545,551 ****
- X
- X olgx_draw_text(gisNormal, win, mtit,
- X mInfo->titleX, mInfo->titleY, 0,
- ! False, OLGX_NORMAL);
- X
- X olgx_draw_text_ledge(gisNormal, win,
- X BUTT_HSPACE, mInfo->titleHeight - 6,
- --- 545,551 ----
- X
- X olgx_draw_text(gisNormal, win, mtit,
- X mInfo->titleX, mInfo->titleY, 0,
- ! OLGX_NORMAL);
- X
- X olgx_draw_text_ledge(gisNormal, win,
- X BUTT_HSPACE, mInfo->titleHeight - 6,
- ***************
- *** 3201,3212 ****
- X Menu *menu;
- X int defitem;
- X Button *pb;
- X
- X /*
- X * find the menu associated with this frame,
- X * this ensures that the menu is enabled correctly
- X */
- ! menu = GetEnabledMenu(win->core.client, win->fcore.fullsize,
- X False, win->core.client->sticky);
- X
- X if (!menu)
- --- 3201,3216 ----
- X Menu *menu;
- X int defitem;
- X Button *pb;
- + Bool fullsize;
- X
- X /*
- X * find the menu associated with this frame,
- X * this ensures that the menu is enabled correctly
- X */
- ! if (win->core.kind == WIN_FRAME)
- ! fullsize = win->fcore.fullsize;
- ! else fullsize = False;
- SHAR_EOF
- true || echo 'restore of olvwm3.Patch02 failed'
- fi
- echo 'End of part 1'
- echo 'File olvwm3.Patch02 is continued in part 2'
- echo 2 > _shar_seq_.tmp
- exit 0
- --
- ---
- Senior Systems Scientist mail: dcmartin@msi.com
- Molecular Simulations, Inc. uucp: uunet!dcmartin
- 796 North Pastoria Avenue at&t: 408/522-9236
-